-
-
Notifications
You must be signed in to change notification settings - Fork 592
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(alias,auto-install,babel,beep,buble,commonjs,data-uri,dsv,dynamic-import-vars,eslint,esm-shim,graphql,html,image,inject,json,legacy,multi-entry,node-resolve,pluginutils,replace,run,strip,sucrase,swc,terser,typescript,url,virtual,wasm,yaml): ensure rollup 4 compatibility #1595
Conversation
4255af8
to
d4688ee
Compare
d4688ee
to
38e6f28
Compare
38e6f28
to
03f0596
Compare
03f0596
to
5d570b2
Compare
5d570b2
to
58b72a8
Compare
58b72a8
to
b2c39d9
Compare
b2c39d9
to
e2de6ef
Compare
e2de6ef
to
fc72d4a
Compare
fc72d4a
to
237deee
Compare
237deee
to
e593c28
Compare
e593c28
to
33a8e78
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The failing windows ci should not be related to the changes
That would be a relief, but why is it failing? Is it broken on master? |
@lukastaegert think another consideration we could make is to set the setting |
For the Windows build it seems like a good idea. We should also report this to pnpm |
8fa06b5
to
7c56ce3
Compare
Forcing ppm to 8.8.0 did not solve the issue. Adding |
b992fba
to
ff83e1f
Compare
I slightly reworked the changes in the TypeScript plugin so that there is no change in the productive code at all and no potential for breakage. I also added two TODO comments to change the code once we dropped support for rollup@2 and rollup@3 respectively. @shellscape Do you see any chance we can merge this tomorrow? This would allow me to release Rollup 4 in time for ViteConf. The productive changes are now very minimal and non-breaking, otherwise it mostly concerns test code and snapshots, see the list in the PR description. |
I'm going to be out of pocket for the rest of the week with travel unfortunately. BUT I've been following along and I see no reason not to push it forward. You've got my backing. |
Perfect, thanks so much! |
While trying out Rollup v4 on the Vite repo (I didn't use the plugins built on this PR's branch), I found that the rebuild doesn't happen when I change the file while running |
ff83e1f
to
9395599
Compare
@sapphi-red Great catch! I added this and a test, should be working now! |
…-import-vars,eslint,esm-shim,graphql,html,image,inject,json,legacy,multi-entry,node-resolve,pluginutils,replace,run,strip,sucrase,swc,terser,typescript,url,virtual,wasm,yaml): ensure rollup 4 compatibility
9395599
to
ff200de
Compare
Thanks! I have tried it locally on the Vite repo and confirmed that it works. 👍 |
Ok, it seems there was a hiccup with GitHub during release. Essentially, all packages before sucrase were successful but all others were not published. Worse, the changelog commit was also not generated. I am wondering how to best remedy this, but I guess I should leave it as it is. A subsequent publish run would fail as well as it would try to publish over the already successfully published versions. |
Ok, sucrase seems to be in a weird state. |
Another possibility would be to merge pull request #1585, since this also targets all repos. However, this would not solve the problem that for some packages no previous version exists. |
Exactly. Maybe the solution would be to just manually add a commit that raises all patch versions by 1 to master, and THEN merge the other PR. I would assume that this would then generated the changelog containing the entries from both PRs. But I would prefer to wait until @shellscape is back to have a look. |
I haven't been able to closely follow along, so not entire sure how we got into the situation. I'll take a look at this today to sort it out. OK after looking at the state of things, this is a real mess. Each plugin is going to have to be checked and have things manually updated. That's going to be a lift. Moving forward, we should wait until we have someone around who is intimately familiar with the release process before pushing a big one out like this. (And I would prefer that to be more than just myself) Or, do smaller groups of changes to contain. |
@lukastaegert did you manually publish these? The workflow log doesn't show any publishing activity other than a failure on alias, which should have subsequently stopped anything else from being published. |
OK all of the changelogs and package.json version properties are updated, and I've tagged the repo with the versions as well. We should be in good shape. I'll be looking into process hardening in the near future here. |
Rollup Plugin Name:
alias,auto-install,babel,beep,buble,commonjs,data-uri,dsv,dynamic-import-vars,eslint,esm-shim,graphql,html,image,inject,json,legacy,multi-entry,node-resolve,pluginutils,replace,run,strip,sucrase,swc,terser,typescript,url,virtual,wasm,yaml
This PR contains:
Are tests included?
Breaking Changes?
If yes, then include "BREAKING CHANGES:" in the first commit message body, followed by a description of what is breaking.
List any relevant issue numbers:
Description
Rollup 4 is nearly ready for release. As a matter of fact I am hoping for a release by Thursday next week (i.e. at ViteConf). However, this PR would need to be merged first as otherwise, plugins are not usable for Rollup 4 users.
There should be no breaking changes in this release.
This is a list of all changes:
^4.0.0
assertions
withattributes
in test snapshots of resolve options as that was a major change. Apparently, it does not affect any plugins, though, as they ignore that attribute.loc
attribute but only apos
attribute, the logic was changed to forward this attribute to Rollup on errors instead ofloc
. This is non-breaking as earlier Rollup versions already hadpos
as well.skipSelf: false
tothis.resolve
calls where unspecified as the default value has changed. Again, this is non-breaking as it just explicitly states the previous default.value
after parsing thekey
of a shorthand property. Before, they were only deep equal while now, they are the same reference. This trips upis-reference
, but I think this is the best way to resolve this. Again, this should have no effect on earlier Rollup versions.toString
method.skipSelf: false
tothis.resolve
calls where unspecified as the default value has changed.RollupLog
type containing only the properties we need. Once we drop rollup@2 support, this can be replaced by the realRollupLog
type again. This avoids a breaking change. I added a corresponding TODO comment.inputOptions.preserveModules
on older Rollup versions, even though this property has been removed now. I added a TODO comment to remove the corresponding check once we dropped rollup@3 support.@shellscape I hope I got the commit message right this time 😉